package com.jacob.androidstudy.androidnote;

import com.jacob.androidstudy.R;

import android.app.Activity;
import android.content.res.Resources;

public class $04_Android中的资源 extends Activity{

	/**
	 * Android中的资源都存放在assets目录和res目录中
	 * 1.assets目录
	 * 存放工程下的资源，例如MP3文件、JPG文件等。此文件夹下的文件通过路径访问，不映射到R类中。
	 * 
	 * res/drawable目录
	 * 存放定义界面表现的xml文件。
	 * 
	 * res/drawable-hdpi目录
	 * 存放高分辨率(WVGA，density=240)的图标。
	 * 
	 * res/drawable-ldpi目录
	 * 存放低分辨率(QVGA和WQVGA，density=120)的图标。
	 * 
	 * res/drawable-mdpi目录
	 * 存放中分辨率(HVGA，density=160)的图标。
	 * 
	 * 2.res/values目录、res/values-xx目录
	 * 这些目录下存放字符、数值类的资源。例如string、color、dimen、integer-array、string-array、style等。
	 * 虽然所有values资源都可以放在同一个文件中，但是建议：
	 * 与国际化相关的string资源，放在res/values-xx目录中；一般的string资源放在res/values/string.xml中。
	 * color资源，放在res/values/color.xml中。
	 * dimen资源，放在res/values/dimen.xml中。
	 * style资源，放在res/values/style.xml中。
	 * 
	 * 4.res/layout目录
	 * 存放定义界面布局的xml文件。
	 * 
	 * res/anim目录
	 * 存放定义动画的xml文件。
	 * 
	 * res/menu目录
	 * 存放定义菜单的xml文件。
	 * 
	 */

	/**
	 * 在代码中得到资源
	 */
	public void getRes() {
//		首先用this.getResources()得到Resources对象
		Resources r = this.getResources();
		
//		然后调用Resources对象的getXXX()方法，并通过自定义的R类传入资源的映射地址，即可得到资源。
		r.getColor(R.color.black);
		r.getString(R.string.app_name);
		r.getDimension(android.R.dimen.app_icon_size);
	}
	
	/**
	 * 在代码中得到Android系统内置的资源。
	 */
	public void getSysRes() {
//		首先用this.getResources()得到Resources对象
		Resources r = this.getResources();
		
//		然后调用Resources对象的getXXX()方法，并通过android.R类传入资源的映射地址，即可得到资源。
		r.getColor(android.R.color.black);
		r.getString(android.R.string.yes);
		r.getDimension(android.R.dimen.thumbnail_height);
	}
	
	/**
	 * 在资源文件中得到资源
	 * 对于非style资源，使用“@资源类型/名称”的方式调用。例如：“@string/hello”。
	 * 对于style资源，使用“?style/名称”的方式调用。例如：“?style/text”。
	 * 
	 * 在资源文件中得到Android系统内置的资源
	 * 对于非style资源，使用“@android:资源类型/名称”的方式调用。例如：“@android:string/yes”。
	 * 对于style资源，使用“@android:style/名称”的方式调用。例如：“@android:style/MediaButton”。
	 * 
	 */
	
}
